Computer systems have long used devices to store data. For example, a conventional Hard Disk Drive (HDD) is a data storage device used for storing and retrieving digital information using rapidly rotating discs. Such discs are coated with magnetic material that persistently stores respective data. As a respective disc rotates, a magnetic head reads data from or writes data to the magnetic material on the surface of the disk.
Another type of conventional technology to store data is a solid state-drive. As its name suggests, a solid state-drive includes one or more solid-state devices or integrated circuits that are configured to persistently store data. There are no actual moving parts in a solid state-drive. Access to data stored in non-volatile memory in the solid state drive is performed using an electronic circuit interface.
One reason for the widespread use of a solid state-drives in lieu of rotating disk drives is speed. For example, access to data in the non-volatile memory is typically much quicker than access to data stored in a disk (e.g., a physically rotating storage medium). A downside of using non-volatile memory as opposed to disk drive storage is cost. For example, the cost per bit to store data in memory can be considerably higher than the cost per bit to store data on a magnetic media disc of a HDD.
Memory systems typically include many storage cells to store bits of information. Proper management of the memory system and respective storage cells is important for longevity and usefulness. Certain management of the many storage elements can cause premature failure.
Storage cells in a non-volatile memory system typically can be used over and over again. For example, a region of storage cells in a non-volatile memory device initially can be programmed to store a set of data. To overwrite the set of data, the region of storage cells first must be erased. New data is then written to the region of storage cells.